The present invention relates to the multiprocessor systems comprising a plurality of interconnected host systems.
In such a multiprocessor system, a host identity can be allocated to a processor domain of a host system, in order to control, for example, the distribution of software in accordance with a software licensing policy. A host identity can also be used to identify a host system to a network to which the host system is connected. It is important that a host identity is allocated to only one host system at a time in order, for example, to avoid the infringement of copyright in the software. For example, if the host identity were allocated to two host systems at a time, there might then exist more copies of the software than are licensed to the user.
In this document, the term “host system” is used to define a processor domain, or a server, processor, or module having one processor domain, such that a host identity can only be active for one host system at a time.
In a multiprocessor system, where one or more of a set of available system resources can be allocated to perform a processing task, it may be desirable to reallocate the system resources to carry out the processing tasks. For example, if the system resource(s) originally allocated to perform the processing task fail(s), then it may be desirable to allocate one or more different system resources to enable further processing for that processing task. Reallocation of system resources in this manner can be described as “failover”.
In view of the software licensing aspects identified above, it is important that an appropriate reallocation of the host identities takes place when system resources and/or processing tasks are reallocated in such a failover situation.
For example, if a server in a multiserver system were to fail, it may be desirable to allocate a “spare” server from a pool of one or more such spare servers. In such a case, the host identity allocated to the failed server would need to be transferred to the “spare” server. It would, therefore, be desirable to be able to reallocate the host identities between host systems.
Also, the transfer of host identities may be desirable to enable dynamic upgrading or modifying of a multi-user multiprocessor system. For instance, during use, an initially expected hardware resource requirement of a particular user may change. In such a situation, it would also be desirable to be able to reallocate host identities between host systems so that users could be allocated hardware resources for addressing dynamically changing resource requirements.
However, as indicated above, there is a need to ensure that a host identity is allocated to only one active host system at a time. The present invention seeks to address the reallocation of host identities between host systems while ensuring that a host identity is allocated to only one active host system at a time.